package git.soulbgm.pojo;

import java.util.Date;
import git.soulbgm.common.annotation.IdBuild;
import git.soulbgm.common.annotation.TimeBuild;
import git.soulbgm.common.enumerate.IdType;
import git.soulbgm.common.enumerate.TimeType;
import git.soulbgm.utils.JsonUtil;
import lombok.Data;

import javax.persistence.Id;

/**
 * @author SoulBGM
 * @version V1.0
 * @date 2019-07-03 18:16:36
 * @description monitoring_service_info
 */
@Data
public class MonitoringServiceInfo {

    /**
     * 主键
     */
    @Id
    @IdBuild(idType = IdType.SEQUENCE)
    private Long id;

    /**
     * 实例名称
     */
    private String exampleName;

    /**
     * 监控URL
     */
    private String monitorUrl;

    /**
     * 请求方式 get、post
     */
    private String requestMode;

    /**
     * 请求参数 json格式
     */
    private String requestParameters;

    /**
     * 请求的ContentType
     */
    private String contentType;

    /**
     * 两次监控请求之间的间隔时间
     */
    private Integer frequency;

    /**
     * 用于设定在连续几次连接失败后才发送提醒
     */
    private Integer continuityFailNumber;

    /**
     * 每次发送请求时的超时时间 单位秒
     */
    private Integer requestTimeoutTime;

    /**
     * 当心跳监控不正常时将向添加的邮箱发送邮件提醒; 多个邮箱地址用分号(;)分隔
     */
    private String receiveReminderMailbox;

    /**
     * 备注
     */
    private String remarks;

    /**
     * 创建时间
     */
    @TimeBuild(timeType = TimeType.NOW)
    private Date createTime;

    public static void main(String[] args) {
        MonitoringServiceInfo info = new MonitoringServiceInfo();
        info.setExampleName("");
        info.setMonitorUrl("");
        info.setRequestMode("");
        info.setRequestParameters("");
        info.setContentType("");
        info.setFrequency(0);
        info.setContinuityFailNumber(0);
        info.setRequestTimeoutTime(0);
        info.setReceiveReminderMailbox("");
        info.setRemarks("");
        System.out.println(JsonUtil.toJson(info));
    }

}